<?php
namespace App\Logic\Es;

use Illuminate\Support\Facades\Storage;
use App\Models\Article;
use Elasticsearch\ClientBuilder;
class EsService
{
    public static function esService($data,$file)
    {
        if ($file)
        {
            $file=Storage::disk('public')->put('img',$file);
        }
        $data['img']='/storage/' . $file;
        //通过ORM模型进行添加
        $res=Article::create($data);
        //将数据索引到Elasticsearch搜索引擎
        $hosts = ['127.0.0.1'];//服务器的主机地址和端口号。
        //判断是否存在有效的索引数据
        if ($res) {
            //创建一个Elasticsearch客户端实例。
            //使用建造者模式，设置Elasticsearch服务器的主机地址和端口号
            $client = ClientBuilder::create()
                ->setHosts($hosts)
                ->build();
            //设置将要索引的数据ZZ
            $params = [
                'index' => 'llliu',//设置索引名称
                'type'=>'_doc',
                'id' => $res->id,//将要索引的文档的唯一标识符
                'body' => $res->toArray(),//索引的文档的内容,
            ];
//            dd($params);
            //使用index()方法将文档索引到Elasticsearch中
            $result = $client->index($params);
        return $result;
        }

    }
}
